The present invention relates generally to high speed data transmission systems, and more specifically to a system and method for reliably transmitting parallel data over a plurality of high speed serial lines.
Data transmission systems are known that employ a plurality of serial lines for transmitting parallel data from a source to a destination. In a conventional data transmission system, parallel data to be transmitted is typically segregated into a plurality of narrower parallel data bytes or words. Next, the plurality of parallel data bytes/words is serialized for transmission to the destination over a plurality of serial lines. At the destination, serial data streams carried by the respective lines are converted from serial to parallel form to reproduce the plurality of parallel data bytes/words, which are then aligned to regenerate the parallel data with its original ordering of data.
One drawback of the above-described data transmission system is that variations in, e.g., the lengths of the serial lines and/or the logic speeds associated with the serial lines can cause the serial data streams carried by the respective lines to be skewed. For example, corresponding data bits included in the serial data streams may arrive at the destination during different clock periods. This can be particularly problematic for high speed data transmission systems employing serial data transmission rates on the order of, e.g., 2.5 GHz, which may require corresponding serialized data bits to arrive during the same 400 psec clock period. Such data skew can make it difficult to align the data received at the destination and regain the original ordering of the transmitted parallel data.
Various encoding techniques have been developed to address, at least in part, the problem of data skew in the transmission of data over high speed serial lines.
One such encoding technique, commonly known as the 8B/10B data transmission code, segregates the parallel data to be transmitted into a plurality of parallel data bytes, and encodes the parallel data bytes to form corresponding 10-bit parallel data words, which are then serialized for transmission to the destination over respective lines. Each 10-bit parallel data word is typically encoded to include alignment information, which is used at the destination for properly aligning the parallel data despite the occurrence of data skew. However, the 8B/10B data encoding technique also has drawbacks. For example, because the wider 10-bit parallel data words are serialized for transmission to the destination over the serial lines rather than the narrower parallel data bytes, the serial data transmission rate is frequently increased to achieve a desired level of performance.
It would therefore be desirable to have an improved system and method for transmitting parallel data from a source to a destination over a plurality of high speed serial lines. Such a high speed data transmission system would be capable of reliably transmitting parallel data to the destination despite the occurrence of data skew. It would also be desirable to have a high speed data transmission system that can reliably transmit parallel data without requiring an increase in the serial data transmission rate.